অ্যাপাচি HTTP ক্লায়েন্টে, Connection Timeout এবং Socket Timeout দুটি গুরুত্বপূর্ণ কনফিগারেশন যা HTTP রিকোয়েস্টের সময় নির্ধারণ করতে সাহায্য করে:
এই দুটি টাইমআউট সেট করার জন্য অ্যাপাচি HTTP ক্লায়েন্টে RequestConfig ব্যবহার করা হয়।
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.time.Duration;
public class TimeoutExample {
public static void main(String[] args) {
try {
// Connection Timeout এবং Socket Timeout সেট করা
int connectionTimeout = 5000; // 5 সেকেন্ড
int socketTimeout = 10000; // 10 সেকেন্ড
// RequestConfig তৈরি
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(connectionTimeout) // Connection Timeout
.setSocketTimeout(socketTimeout) // Socket Timeout
.build();
// HttpClient তৈরি এবং RequestConfig সেট করা
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultRequestConfig(requestConfig)
.build();
HttpGet httpGet = new HttpGet("https://example.com");
HttpResponse response = httpClient.execute(httpGet); // রিকোয়েস্ট পাঠানো
// রেসপন্স স্ট্যাটাস দেখানো
System.out.println("Response Status: " + response.getStatusLine().getStatusCode());
} catch (Exception e) {
e.printStackTrace();
}
}
}
setConnectTimeout
এবং setSocketTimeout
মেথডগুলি ব্যবহার করা হয়েছে:setConnectTimeout(connectionTimeout)
: এটি সংযোগ স্থাপনের জন্য অপেক্ষা করার সময় নির্ধারণ করে।setSocketTimeout(socketTimeout)
: এটি সংযোগ স্থাপনের পর সার্ভার থেকে রেসপন্স পাওয়ার জন্য অপেক্ষা করার সময় নির্ধারণ করে।RequestConfig
ক্লাসটি কাস্টম HttpClient তৈরি করার সময় সেট করা হয়েছে।অ্যাপাচি HTTP ক্লায়েন্টে Connection Timeout এবং Socket Timeout সেট করা একটি গুরুত্বপূর্ণ কনফিগারেশন যা সার্ভারের সাথে যোগাযোগের সময়সীমা নির্ধারণ করে। এটি অ্যাপ্লিকেশনকে আরও স্থিতিস্থাপক এবং সময়োপযোগী করে তোলে, বিশেষ করে যখন সার্ভারগুলির প্রতিক্রিয়া দেরি হয় বা নেটওয়ার্ক সমস্যার সম্মুখীন হয়।
common.read_more